Data storage systems formed from a plurality of large-capacity storage devices such as hard disk drives (HDDs) have widely been used in recent years. Typical data storage systems incorporate a number of storage devices, combined with a control device to control access to those storage devices. Some of such storage systems employ two or more control devices to provide redundancy-protected access paths to the storage devices for more reliable operation.
The control devices may have a local cache memory to cache the data stored in storage devices so as to increase the speed of access to the storage devices. For example, a storage system may employ two control devices with individual cache memories, and those control devices may be configured to duplex their content by storing each other's cache data in addition to their own. (See, for example, Japanese Laid-open Patent Publication No. 10-105467.)
The above-exemplified storage system is duplexed, or dual-redundant, in terms of both control device functionality and cache data content. Suppose, for example, one of the two control devices has stopped due to some problem and is thus initialized. Because cache data is duplexed, the initialized control device can reload its local cache memory with a copy of valid cache data from the other control device. This valid cache data in the cache memory permits the initialized control apparatus to continue access operation to the storage devices without slowing down the access speed.
For another example, some storage systems further have a supervisory unit in addition to the duplexed control device functionality and cache data content. This supervisory unit operates independently of the control devices to supervise their activities. When it is detected that access controllers have stopped in both control devices, the supervisory unit causes the two control devices to reboot in “restoration mode.” In this restoration mode, the cache memory in each control device is kept powered during the rebooting, not to lose the cache data stored therein. As a result of rebooting both control devices in restoration mode, their respective access controllers can resume access control operations on the storage devices by using the latest cache data. (See, for example, Japanese Laid-open Patent Publication No. 2004-206239.)
For yet another example of the multiple control device architecture, a proposed storage system performs exclusive control and space reservation of cache memories on an individual control device basis, by using configuration management data of each cache memory and information that indicates the association between cache memories and control devices. This method enables allocating storage spaces of a single cache memory to write cache data, its copy for redundancy, and read cache data in a desired way. (See, for example, Japanese Laid-open Patent Publication No. 2008-047029.)
The storage systems discussed above are protected by duplexing both control device functionality and cache data content. For this reason, even in the event that one of the two control devices is stopped and initialized due to some problem, the initialized control device can reload its local cache memory with valid cache data supplied from the other control device that is alive. However, it is still possible that the other control device may also encounter some anomalies and thus stop during the ongoing initialization process of the failed control device. If this happens, the initialized control apparatus cannot receive latest cache data from the other control apparatus that is in need of initialization. The first-initialized control apparatus may still be able to restart its access control operations without reloading cache entries, but this means that the control apparatus loses the benefit of having the latest cache data in its cache memory.